# Q. What is this file?
# A. This file contains options which allow you to configure your multiworld experience while allowing
#    others to play how they want as well.
#
# Q. How do I use it?
# A. The options in this file are weighted. This means the higher number you assign to a value, the
#    more chances you have for that option to be chosen. For example, an option like this:
#
#    map_shuffle:
#      on: 5
#      off: 15
#
#    Means you have 5 chances for map shuffle to occur, and 15 chances for map shuffle to be turned
#    off.
#
# Q. I've never seen a file like this before. What characters am I allowed to use?
# A. This is a .yaml file. You are allowed to use most characters.
#    To test if your yaml is valid or not, you can use this website:
#        http://www.yamllint.com/
#    You can also verify that your MultiworldGG options are valid at this site:
#        https://multiworld.gg/check

# Your name in-game, limited to 16 characters.
#     {player} will be replaced with the player's slot number.
#     {PLAYER} will be replaced with the player's slot number, if that slot number is greater than 1.
#     {number} will be replaced with the counter value of the name.
#     {NUMBER} will be replaced with the counter value of the name, if the counter value is greater than 1.
name: Player{number}

# Used to describe your yaml. Useful if you have multiple files.
description: Default Simpsons Hit and Run Template

game: Simpsons Hit and Run
requires:
  version: 0.7.248 # Version of MWGG required for this yaml to work as expected.
  game:
    Simpsons Hit and Run: 0.5.4 # Version of the world required for this yaml to work as expected.

Simpsons Hit and Run:
  ################
  # Game Options #
  ################
  progression_balancing:
    # A system that can move progression earlier, to try and prevent the player from getting stuck and bored early.
    # 
    # A lower setting means more getting stuck. A higher setting means less getting stuck.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-99: 0 # random value between 0 and 99
    disabled: 0 # equivalent to 0
    normal: 50 # equivalent to 50
    extreme: 0 # equivalent to 99

  accessibility:
    # Set rules for reachability of your items/locations.
    # 
    # **Full:** ensure everything can be reached and acquired.
    # 
    # **Minimal:** ensure what is needed to reach your goal can be acquired.
    full: 50
    minimal: 0

  Lock_Levels:
    # If enabled, levels are will be inaccessible to Free Roam until you receive their respective Level item.
    'false': 0
    'true': 50

  Early_Level:
    # If enabled, attempt to place at least one of your required levels in an early location.
    'false': 0
    'true': 50

  Mission_Timers:
    # Increase mission timers by the chosen percentage.
    # For example, if a mission has a timer of 1:00 and the chosen value is 50, then the mission will have a timer of 1:30
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  Start_Wallet_Level:
    # Choose how many Progressive Wallet Levels to start with.
    # Level 1 shops are in logic with 1 level, level 2 with 2, etc.
    # Your coin cap = MaxShopPrice * WalletLevel * ShopScaleMod and is unlimited at Wallet Level 7
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 7
    1: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-7: 0 # random value between 0 and 7

  Filler_Wrench_Efficiency:
    # Percentage damage a filler wrench item will repair your cars.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    10: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  Filler_HitNRun_Reset_Efficiency:
    # Percentage a filler Hit N Run Reset item will lower your Hit N Run meter.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    10: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  Traffic_Blacklist:
    # Block cars from appearing as traffic. There must be at least 35 cars available to shuffle.
    # If there are less than 5 cars available for any level after applying the blacklist, then traffic will not be shuffled.
    []

  ############
  # Shuffles #
  ############
  Shuffle_Levels:
    # Choose how you want Levels to be received.
    # If shuffled, 6 Level X items will be shuffled into the item pool which will allow access to that level's missions
    # Otherwise, 6 Progressive Level items will be shuffled into the item pool, allowing you to access levels in the vanilla order.
    # Regardless of your choice, missions can be played in any order on an unlocked level.
    'false': 0
    'true': 50

  Starting_Car_Shuffle:
    # Choose whether to shuffle starting car between available cars from your starting level.
    # If disabled, you'll always start with your starting level's default car.
    'false': 0
    'true': 50

  Shuffle_Attack:
    # Choose whether to add Attack to the pool for each character.
    # Valid options are Homer, Bart, Lisa, Marge, Apu, All, or None.
    ['All']

  Shuffle_Jump:
    # Choose whether to add Jump to the pool for each character.
    # Valid options are Homer, Bart, Lisa, Marge, Apu, All, or None.
    ['All']

  Start_Jump_Level:
    # Choose how many Progressive Jump items to start with for each character.
    # Characters who aren't included in ShuffleJump will start with Progressive Jump Level 2.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 2
    1: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-2: 0 # random value between 0 and 2

  Shuffle_Gagfinder:
    # Choose whether to add a Gagfinder to the pool for each Character that will be required to
    # unlock gags as that character. Valid options are Homer, Bart, Lisa, Marge, Apu, All, or None.
    # If None, gags will instead be locked until you receive their Level.
    ['All']

  Shuffle_Bumpers:
    # Choose whether to shuffle Frink-o-Matic Wasp Bumpers into the item pool.
    # Characters not chosen won't have a Wasp Bumper in the item pool and *WILL NOT* be able to break wasps with cars.
    # Valid options are Homer, Bart, Lisa, Marge, Apu, All, or None.
    ['None']

  Start_With_Bumpers:
    # If true, add all enabled Wasp Bumpers to the start inventory.
    # If you want more granular control of this, use the generic start inventory.
    'false': 50
    'true': 0

  Shuffle_Checkered_Flags:
    # Choose whether to add a Checkered Flag to the pool for each Character that will be required to
    # unlock races as that character. Valid options are Homer, Bart, Lisa, Marge, Apu, All, or None.
    # If None, races will instead be locked until you receive their Level.
    ['All']

  Shuffle_EBrakes:
    # Choose whether to shuffle ability to use the E-Brake for each character into the item pool.
    # Characters not chosen will always be able to use the E-Brake.
    # Valid options are Homer, Bart, Lisa, Marge, Apu, All, or None.
    ['All']

  Shuffle_Forward:
    # Choose whether to shuffle the ability to move forward or drive forward for each character into the item pool.
    # Characters not chosen won't have a forward in the item pool and will always be able to move forward.
    # Valid options are Homer, Bart, Lisa, Marge, Apu, All, or None.
    # **THIS COULD CREATE VERY DIFFICULT SEEDS**
    ['None']

  Early_Forward:
    # If enabled and forward is shuffled, try to place each specified character's Forward item early.
    # Valid options are Homer, Bart, Lisa, Marge, Apu, All, or None. Does nothing if the character's forward isn't shuffled.
    ['All']

  Shuffle_Cards:
    # Randomize card locations. This option adds several possible locations for
    # cards. There will still be 49 total cards with 7 in each level.
    'false': 0
    'true': 50

  #########
  # Goals #
  #########
  Itchy_And_Scratchy_Ticket_Requirement:
    # Goal is watching the Itchy and Scratchy film in the Lobby.
    # You'll receive the Ticket when you complete the requirements chosen.
    missions_complete: 50
    story_missions_complete: 0
    final_mission_l7m7: 0
    cars_collected: 0

  Wasp_Amount:
    # Number of Wasps additionally required to gain the Itchy and Scratchy ticket. There are 20 per level.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 140
    70: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-140: 0 # random value between 0 and 140

  Card_Amount:
    # Number of Cards additionally required to gain the Itchy and Scratchy ticket. There are 7 per level.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 49
    25: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-49: 0 # random value between 0 and 49

  Required_Mission_Levels:
    # If the ticket requires missions or story missions, choose which level's missions are required.
    # Missions in other levels may still unlock required items.
    # Has no effect if the ticket doesn't require missions.
    # Valid options are 1, 2, 3, 4, 5, 6, 7, or All.
    ['All']

  Car_Amount:
    # If the ticket requires cars collected, choose the amount of cars required.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 10
    # Maximum value is 81
    50: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-10-81: 0 # random value between 10 and 81

  ####################
  # Gameplay Changes #
  ####################
  Mission_Locks:
    # Add car requirements to a percentage of missions
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  Min_Shop_Price:
    # The minimum cost of any item in Gil's Shop. If this is greater than the max shop price, then the max will be used instead.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 500
    100: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-500: 0 # random value between 0 and 500

  Max_Shop_Price:
    # The maximum cost of any item in Gil's Shop.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 500
    300: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-500: 0 # random value between 0 and 500

  Shop_Scale_Modifier:
    # The multiplier for shop costs per levels. For each level after L1, min and max will be multiplied by level number and this multiplier.
    # L2 = Min/Max * Mod * 2, L3 = Min/Max * Mod * 3, etc.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 5
    2: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-5: 0 # random value between 1 and 5

  Shop_Hint_Policy:
    # Choose the level of hints sent when speaking to Gil for the first time on a level
    # All: Hint all items in Gil's shop
    # OnlyProg: Only hint progression items in Gil's shop
    # None: No shop hints will be created
    all: 50
    onlyprog: 0
    none: 0

  Extra_Hint_Policy:
    # Place extra hints in various places.
    'false': 0
    'true': 50

  Shuffle_Traffic:
    # Randomize traffic per level. Cars that are usually used as traffic in that level plus the starting car of the next level are unable to be chosen for their level.
    'false': 0
    'true': 50

  #########
  # Traps #
  #########
  Enable_Eject_Traps:
    # Whether to include Eject traps in the item pool.
    'false': 0
    'true': 50

  Enable_Duff_Traps:
    # Whether to include Duff traps in the item pool.
    'false': 0
    'true': 50

  Enable_Launch_Traps:
    # Whether to include Launch traps in the item pool.
    'false': 0
    'true': 50

  Enable_HitNRun_Traps:
    # Whether to include Hit N Run traps in the item pool.
    'false': 0
    'true': 50

  Enable_Traffic_Traps:
    # Whether to include Traffic traps in the item pool.
    'false': 0
    'true': 50

  Filler_Traps:
    # How many fillers will be replaced with traps. 0 means no additional traps, 100 means all fillers are traps.
    # These traps are IN ADDITION to any enabled traps above, though it won't add trap types that have been disabled.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  ###########################
  # Item & Location Options #
  ###########################
  local_items:
    # Forces these items to be in their native world.
    []

  non_local_items:
    # Forces these items to be outside their native world.
    []

  start_inventory:
    # Start with the specified amount of these items. Example: {Bomb: 1, Arrow: 3}
    {}

  start_hints:
    # Start with these item's locations prefilled into the ``!hint`` command.
    []

  start_location_hints:
    # Start with these locations and their item prefilled into the ``!hint`` command.
    []

  exclude_locations:
    # Prevent these locations from having an important item.
    []

  priority_locations:
    # Prevent these locations from having an unimportant item.
    []

  item_links:
    # Share part of your item pool with other players.
    []

  plando_items:
    # Generic items plando.
    []
